package _18_剑指OfferII;

import java.util.Map;
import java.util.TreeMap;

// 使用TreeMap解法
public class _058_剑指OfferII日程表2 {

    TreeMap<Integer, Integer> treeMap;

    public _058_剑指OfferII日程表2() {
        treeMap = new TreeMap<>();
        // 添加哨兵节点
        treeMap.put(-1, -1);
        treeMap.put(Integer.MAX_VALUE, 0);
    }

    public boolean book(int start, int end) {
        Map.Entry<Integer, Integer> floorEntry = treeMap.floorEntry(start);
        Map.Entry<Integer, Integer> ceilingEntry = treeMap.ceilingEntry(start);
        if (floorEntry.getValue() <= start && ceilingEntry.getKey() >= end) {
            treeMap.put(start, end);
            return true;
        }
        return false;
    }

}
